-
Notifications
You must be signed in to change notification settings - Fork 204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix #139, Do file writes in background #1148
Merged
astrogeco
merged 1 commit into
nasa:integration-candidate
from
jphickey:fix-139-filewrite-background
Feb 17, 2021
Merged
Fix #139, Do file writes in background #1148
astrogeco
merged 1 commit into
nasa:integration-candidate
from
jphickey:fix-139-filewrite-background
Feb 17, 2021
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This needs a rebase after next baseline - change is currently in commit c6d9f27. Pushing as draft to get review started. |
jphickey
added
the
CCB:Ready
Ready for discussion at the Configuration Control Board (CCB)
label
Feb 1, 2021
astrogeco
added
CCB:2021-02-02
and removed
CCB:Ready
Ready for discussion at the Configuration Control Board (CCB)
labels
Feb 3, 2021
CCB:2021-02-03 APPROVED
|
@jphickey is this ready? |
Implements a generic asynchronous "file write request" facility in the FS subsystem. Given a metadata/control block with the file details and writer state and appropriate callbacks,, this will execute the file write job as part of the ES background task. The following file requests are changed to use this facility: - ES ER Log dump - SB Pipe Info - SB Message Map - SB Route Info - TBL Registry Dump
jphickey
force-pushed
the
fix-139-filewrite-background
branch
from
February 16, 2021 19:59
c6d9f27
to
81cbc46
Compare
Rebased to "main" - ready to merge now. |
astrogeco
added a commit
to nasa/cFS
that referenced
this pull request
Feb 17, 2021
astrogeco
added a commit
to nasa/cFS
that referenced
this pull request
Feb 26, 2021
Bumps to: - cFE v6.8.0-rc1+dev365 - osal v5.2.0-rc1+dev280 - cFS-GroundSystem v2.2.0-rc1+dev29 See: - nasa/osal#830 - nasa/cFE#1171 - nasa/cFS-GroundSystem#162 Includes: - nasa/cFE#1148 - nasa/cFE#1168 - nasa/cFE#1158 - nasa/cFE#1151 - nasa/cFE#1173 - nasa/osal#794 - nasa/osal#818 - nasa/osal#820 - nasa/osal#815 - nasa/osal#813 - nasa/osal#822 - nasa/osal#823 - nasa/cFS-GroundSystem#156
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe the contribution
Implement a generic FS facility to perform file writes as a background job.
Applications wanting to use this facility need to instantiate a state object (metadata) in global memory, and two callback APIs- one to get a data record, another to send events.
The following file requests are changed to use this facility:
Fixes #139
Testing performed
First built and ran "main" branch (unchanged) and issued all file write commands before change to get a baseline/reference copy.
Then re-built with this change applied and re-issued all file write commands.
Compared old files to new files - confirmed that the new files are correct (but see note below!).
Expected behavior changes
Files are written in the context of the ES background task.
System(s) tested on
Ubuntu 20.04
Additional context
While examining the diffs between the old files and new files, I noticed that the queue depth in the Pipe Info was actually wrong in the original/reference data. This was due to some mismatches between Pipe Info fields where names were getting crossed.
In order to fix this and avoid it from happening in the future - this changes the internal SB member names to be consistently named:
MaxQueueDepth
for maximum depth at queue creation time (previously wasQueueDepth
orDepth
depending on context)CurrentQueueDepth
for the running count (previously wasInUse
orCurrentDepth
depending on context)PeakQueueDepth
for the highest watermark (previously wasPeakInUse
orPeakDepth
depending on context)In particular the
Depth
andCurrentDepth
were not (previously) being propagated to the file correctly - as the names got crossed in the implementation. This PR fixes it by making the names consistent.Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.